package com.ruoyi.common.core.domain.model;

import com.ruoyi.common.constant.UserConstants;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;

/**
 * 用户注册对象
 */
@Data
public class RegisterReq {
    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空")
    @Length(min = UserConstants.USERNAME_MIN_LENGTH,
            max = UserConstants.USERNAME_MAX_LENGTH,
            message = "账户长度必须在2到20个字符之间")
    private String username;

    /**
     * 用户密码
     */
    @NotBlank(message = "用户密码不能为空")
    @Length(min = UserConstants.PASSWORD_MIN_LENGTH,
            max = UserConstants.PASSWORD_MAX_LENGTH,
            message = "密码长度必须在5到20个字符之间")
    private String password;

    /**
     * 验证码
     */
    private String code;

    /**
     * 唯一标识
     */
    private String uuid;

    /**
     * 系统来源
     * @see com.ruoyi.common.enums.UserResourceEnum
     */
    @NotBlank(message = "系统来源不能为空")
    private String resource;
}
